used for pie charts, which are a stacked bar chart in polar coordinates and then convert them with ggplotly.
pie <- ggplot(mtcars, aes(x = factor(1), fill = factor(cyl))) +
geom_bar(width = 1)
p <- pie + coord_polar(theta = "y")
plotly::ggplotly(p)
## Warning in min(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to max; returning -Inf
## Warning in min(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to max; returning -Inf
cxc <- ggplot(mtcars, aes(x = factor(cyl))) +
geom_bar(width = 1, colour = "black")
p <- cxc + coord_polar()
plotly::ggplotly(p)
## Warning in min(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to max; returning -Inf
## Warning in min(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to max; returning -Inf
cxc <- ggplot(mtcars, aes(x = factor(cyl))) +
geom_bar(width = 1, colour = "black")
p <- cxc + coord_polar(theta = "y")
plotly::ggplotly(p)
## Warning in min(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to max; returning -Inf
## Warning in min(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to max; returning -Inf
pie <- ggplot(mtcars, aes(x = factor(1), fill = factor(cyl))) +
geom_bar(width = 1)
p <- pie + coord_polar()
plotly::ggplotly(p)
## Warning in min(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to max; returning -Inf
## Warning in min(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to max; returning -Inf
df <- data.frame(
variable = c("does not resemble", "resembles"),
value = c(20, 80)
)
p <-
ggplot(df, aes(x = "", y = value, fill = variable)) +
geom_col(width = 1) +
scale_fill_manual(values = c("red", "yellow")) +
coord_polar("y", start = pi / 3) +
labs(title = "Pac man")
plotly::ggplotly(p)
## Warning in min(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to max; returning -Inf
## Warning in min(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to max; returning -Inf
p <-
if (require("ggplot2movies")) {
movies$rrating <- cut_interval(movies$rating, length = 1)
movies$budgetq <- cut_number(movies$budget, 4)
doh <- ggplot(movies, aes(x = rrating, fill = budgetq))
# Wind rose
doh + geom_bar(width = 1) + coord_polar()
# Race track plot
doh + geom_bar(width = 0.9, position = "fill") + coord_polar(theta = "y")
}
plotly::ggplotly(p)
## Warning in min(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["x"]]$dimension %()% z$x.range %||% z$x_range): no non-missing
## arguments to max; returning -Inf
## Warning in min(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to min; returning Inf
## Warning in max(z[["y"]]$dimension %()% z$y.range %||% z$y_range): no non-missing
## arguments to max; returning -Inf